package com.liu.service;

import com.liu.dto.PatientMapData;
import com.liu.dto.PatientType;
import com.liu.entity.TPatient;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.util.List;

/**
 * 患者表(TPatient)表服务接口
 *
 * @author makejava
 * @since 2022-11-04 17:48:44
 */
public interface TPatientService {

    /**
    * @Author Lilyan
    * @Description //TODO 查询无症状
    * @Date 19:16 2022/11/4
    * @Param []
    * @return java.lang.Integer
    **/
    Integer getAsymptomatic();

    /**
    * @Author Lilyan
    * @Description //TODO 
    * @Date 19:09 2022/11/4
    * @Param []
    * @return java.lang.Integer
    **/
    Integer getMiJie();

    /**
    * @Author Lilyan
    * @Description //TODO
    * @Date 18:30 2022/11/4
    * @Param []
    * @return List<PatientMapData>
    **/
    List<PatientMapData> getPatientTPatientMap();

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    TPatient queryById(Integer id);


    /**
     * 新增数据
     *
     * @param tPatient 实例对象
     * @return 实例对象
     */
    TPatient insert(TPatient tPatient);

    /**
     * 修改数据
     *
     * @param tPatient 实例对象
     * @return 实例对象
     */
    TPatient update(TPatient tPatient);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    List<PatientType> getPatientType();

    /**
    * @Author Lilyan
    * @Description //TODO 查询全部
    * @Date 16:39 2022/11/5
    * @Param []
    * @return java.util.List<com.liu.entity.TPatient>
    **/
    List<TPatient> getAll();

    /**
    * @Author Lilyan
    * @Description //TODO 批量删除
    * @Date 15:56 2022/11/7
    * @Param [ids]
    * @return void
    **/
    void deleteByIds(Integer[] ids);

    void selectByIds(Integer[] ids);

    void writeExcel(Integer[] ids, HttpServletResponse response) throws UnsupportedEncodingException;

    void save(MultipartFile file);
}
